﻿using System.Collections.Generic;
using System.Data;
using System.Threading.Tasks;
using Entity;

namespace IRepository
{
    public interface IInventoryDetailsRepository
    {
        Task AddRangeAsync(List<InventoryDetailsEntity> details);
        Task<List<InventoryDetailsEntity>> GetByInventoryListIdAsync(int listId);
        Task DeleteByListIdAsync(int listId);
        Task<InventoryDetailsEntity> GetByIdAsync(int id);
        Task UpdateAsync(InventoryDetailsEntity entity);
        Task<List<InventoryDetailWithProductName>> GetDetailsWithProductNameAsync(int inventoryListId);
        Task<List<InventoryDetailsEntity>> GetByInventoryListIdAsync(int listId, IDbTransaction transaction = null);
    }
}